cssimageicontheme: Handle scale factors correctly
authorBenjamin Otte <otte@redhat.com>
Wed, 2 Jul 2014 17:47:48 +0000 (19:47 +0200)
committerBenjamin Otte <otte@redhat.com>
Wed, 2 Jul 2014 17:48:44 +0000 (19:48 +0200)
Code didn't account for the pixbuf returned being scaled.

gtk/gtkcssimageicontheme.c

index dfc73cdbd22a0bce3269067332dbb4291533c71d..bfbcb70f57a8d68a865f0a5953f5595b3ca5ae09 100644 (file)
@@ -75,10 +75,12 @@ gtk_css_image_icon_theme_draw (GtkCssImage        *image,
       return;
     }
 
+  cairo_translate (cr, width / 2.0, height / 2.0);
+  cairo_scale (cr, 1.0 / icon_theme->scale, 1.0 / icon_theme->scale);
   gdk_cairo_set_source_pixbuf (cr,
                                pixbuf,
-                               (width - gdk_pixbuf_get_width (pixbuf)) / 2.0,
-                               (height - gdk_pixbuf_get_height (pixbuf)) / 2.0);
+                               - gdk_pixbuf_get_width (pixbuf) / 2.0,
+                               - gdk_pixbuf_get_height (pixbuf) / 2.0);
   cairo_paint (cr);
 
   g_object_unref (pixbuf);